import userHttp from './userHttp'

export const userService = {
    // 登录：Spring Security表单登录（参数名username/password）
    login(phone, password) {
        const params = new URLSearchParams();
        params.append('username', phone); // 后端Spring Security默认用户名参数名
        params.append('password', password);
        return userHttp.post('/auth/login', params);
    },

    // 登出：Spring Security默认登出接口
    logout() {
        return userHttp.post('/auth/logout')
            .then(response => {
                localStorage.removeItem('user')
                return {
                    success: true,
                    message: response.message || '登出成功'
                }
            })
    },

    // 注册：后端/register接口（接收User对象）
    register(userData) {
        return userHttp.post('/register', userData)
    },

    // 修改密码：后端/user/alterPassword接口（PUT方法，正确传参）
    alterPassword(phone, newPassword) {
        return userHttp.put('/user/alterPassword', null, {
            params: { phone, password: newPassword }
        })
    },

    // 注销账户：后端/user/delete接口
    deleteUser(phone) {
        return userHttp.delete('/user/delete', { params: { phone } })
    },

    // 修改用户状态：后端/admin/alterStatus接口（管理员权限）
    alterStatus(phone) {
        return userHttp.put('/admin/alterStatus', null, { params: { phone } })
    },

    // 获取用户列表：后端/user/information接口（管理员权限）
    getUsersList() {
        return userHttp.get('/user/information')
    }
}